#!/usr/bin/env python

import argparse

def foo(args):
    print(args.x * args.y)

def bar(args):
    print('((%s))' % args.z)

parser = argparse.ArgumentParser()
subparsers = parser.add_subparsers()

parser_foo = subparsers.add_parser('foo')
parser_foo.add_argument('-x', type=int, default=1)
parser_foo.add_argument('y', type=float)
parser_foo.set_defaults(func=foo)

parser_bar = subparsers.add_parser('bar')
parser_bar.add_argument('z')
parser_bar.set_defaults(func=bar)

args = parser.parse_args('foo 1 -x 2'.split())
args.func(args)

args = parser.parse_args('bar XYZXYZ'.split())
args.func(args)
